Sig/M volume 17		miscellaneous CP/M utilies

	Name		Size	Description

	-CATALOG.017		contents of Sig/M volume 17
	-CATALOG.ACK		acknowledgement file

17.1	SCRAMBLE.DOC	 2K	command used to encode a CP/M file
17.2	SCRAMBLE.ASM	 6K	/
17.3	SORTV.DOC	 2K	sort program for variable length records
17.4	SORTV-12.ASM	13K	/
17.5	TAG2.ASM	 6K	set/reset display the "no copy" flag
17.6	MNEXEC.COM	 3K	MicroNet executive
17.7	MNOVRLAY.ASM	 4K	   overlay for  MicroNet executive
17.8	WHICH/1.ASM	 4K	returns size and version of CP/M
17.9	STATUS.ASM	 8K	present various systems information under 2.2
17.10	NEWQCAT.ASM	 5K	quick catalog routine
17.11	WORM8/8.ASM	 7K	memory test
17.12	TFX12/18.ASM	21K	CP/M to CP/M file transfer utility
17.13	XMODEM41.ASM	29K	remote CP/M to CP/M file transfer
17.14	MOVPATCH.ASM	 3K	modifies MOVCPM for remote access
17.15	21BIOS.ASM	48K	new BIOS for CP/M 2.0
17.16	21BIOS.DOC	 3K	    /
17.17	21BOOT.ASM	 4K	   /
17.18	MACRO.LIB	18K	  /
17.19	NPGEN.ASM	 9K	 /
17.20	SPCLMAC.LIB	 4K	/
17.21	XDIR.ASM	13K	updated CP/M directory display
17.22	XDIR.COM	 2K	/

Sig/M acknowledges the following contributors:

MOVPATCH.ASM
	submitted by Ron Fowler - 11/2/80

XMODEM41.ASM
	latest revision by Tim Nicholas - 2/17/81
	original version by Keith Petersen W8SDZ

STATUS.ASM
	submitted by Lauren Guimont - 6/26/80

TFX12/18.ASM
	submitted by Brent J. Crable - 12/18/80

NEWQCAT.ASM
	submitted by C. Strom - 2/4/81

WORM8/8.ASM
	submitted by Jim Eccleston - 7/19/80
	with acknowledgement to Ward Christiensen and Bill Precht

XDIR.ASM, XDIR.COM
	submitted by S. J. Singer - 5/24/80

SCRAMBLE.DOC, SCRAMBLE.ASM - 3/11/79
SORTV.DOC, SORTV-12.ASM - 1/14/81
	submitted by Ward Christiensen

TAG2.ASM
	original by Bruce Ratoff
	modified 2/17/81 by Tim Nicholas

MNEXEC.COM, MNOVRLAY.ASM
	submitted by Homebrew

WHICH/1.ASM
	submitted by David Fiedler - 11/25/80
	modified by Ray Glueck - 1/12/81
	adapted from TPA3.ASM by Ron Fowler

21BIOS.ASM, 21BIOS.DOC, 21BOOT.ASM, MACRO.LIB, 
NPGEN.ASM, SPCLMAC.LIB
	submitted by Robert M. White 5/24/80

						May 24, 1980

To Whom it may concern:

	This disk contains a recently developed BIOS and support routines
for CP/M (Copyright Digital Research).  The BIOS was developed from rou-
tines retrieved from the CPMUG, Tarbell Electronics, DR's CP/M 2.0 and
J. S. Singer.  It is meant to operate as a full blown BIOS under CP/M 2.0.
In particular, it was developed to give the full disk capabilities that
CP/M 2.0 and DFOCO, a disk utility by S. J. Singer, provide.  It supports
single and double density disks with 128, 256, 512 or 1024 sector sizes.
The non-disk drivers fully support the virtual re-assignments allowed via
the IOBYTE.  Also, special utilities are provided to give the user quick
access to the new functions being supported.

	The BIOS may be as large as 2.75k.  Currently, it is limited to
.75k by the way its stored on the diskette.  To provide more room, I put
the CCP on the disk as a regular disk file.  For warm or cold starts, I
merely open it as a regular file and read it in.  Unfortunately, this 
takes more time than I really like due to required system overhead (I.E.
System Reset, Disk Select, etc.).  In the future, I plan to change it so
that 3 tracks are used for system tracks instead of two.

	To generate the system, follow the instructions given in the BIOS.
You will use files, 21BIOS.ASM and 21BOOT.ASM.  The system generation is
almost the same as if you were doing it for any old CP/M.  To regenerate
the system under itself, you MUST use the NPGEN.ASM file instead of SYSGEN
and 21BOOT.ASM.  These instructions can be found in the front of NPGEN.ASM.
Please insure that you are familiar with system generations before tackling
this one.  Also, always keep a backup of your old system.  This thing can
become tricky!

	I look forward to any constructive comments and suggestions.

			Respectfully,

			Robert M. White
			H & W Computer Systems, Inc.
			8530 Stonehaven
			Boise, ID  83704
			(208) 377-0336


			W-A-R-N-I-N-G

1.  It may seem that some the files on this tape are repeats of old ones.
    Be advised that ALL files have been updated.  That is, they are dif-
    ferent from the old ones.  Please don't try to interchange them.

2.  System generations may be hazardous to the health of your current sys-
    tem if you don't back it up.  Always do so!  Also, generate the new
    system 16k smaller than your current one.  Then to check out problems
    with DDT, you can re-boot your current system and look at the new BIOS's
    areas.

3.  All programs on this disk require MAC, the macro assembler distributed
    by Digital Research.

SCRAMBLE is a command used to encode a CP/M file.

The format of the command is:
	SCRAMBLE filename.type password
where "password" is an 8 character password made of characters
perissible in a file name (i.e. no ".", etc).  To obtain a good
"initial seed" for the scrambling process, no character in the
password may appear more than twice.

The requested file is scrambled, and re-written in place.
To un-scramble the file, the IDENTICAL command is issued,
i.e. SCRAMBLE filename.type password.  This is because
SCRAMBLE does an "exclusive-or" type modification to the file,
and doing two identical exclusive-or's to data result
in the same data being retuned. 

I feel a scrambled file is quite secure.  Given that a file
was scrambled and the password forgotten, I know of no way to
determine what the original file was.  Even a file which
is all binary-0's, is sufficiently scrambled to defy finding
out what the password or original data was.  ...But I assume
no responsibility for the "security" of files scrambled
with SCRAMBLE as I am not a "student of cryptology".

Note also, that if an attempt is made to unscramble a scrambled
file, using the WRONG password, then the file is technically
"double scrambled" and SCRAMBLE would then have to be executed
TWICE, once with the original password, and once with the
erroniously-used password.  Because of the exclusive or-ing
process, either password may be used either time.

03/11/79 Ward Christensen

		SORTV.DOC (vevised 1/14/81)
	   Brief commentary on the use of SORTV
                   by Ward Christensen

SORTV is a "simple" sort program for variable length (CR/LF
terminated) record files, i.e. the typical CP/M file of
lists of things.  It defaults to sorting from the 1st char
in the line, but can skip past any particular characters
that occur in the file.  The file being sorted must fit
in memory.  You may write back to the input file, or to
another.  /// A typical use would be to sort a list of 
filenames into filetype sequence, i.e. names.sub from FMAP.
Some examples: If you want to sort "files.nam" into se-
quence: SORTV FILES.NAM;  To sort a list of names (as pro-
duced by FMAP *.* Q, for example) by filetype: 
SORTV NAMES.SUB @.  The "@" means to sort "at", and the "."
means at the period.  Note EACH line must have the skip-
character specified.  To sort a file skipping a period,
a comma, and 2 spaces: "SORTV NAME @.,  " where you put 2
spaces after the ",".


Here's the general way to execute SORTV -

To write back to file in place:   SORTV name

To write to another: SORTV inputname outputname

If you should want to use a tab as a skip character, you
must either specify an output filename, or use a single
"." for the output name (causes input to be overlaid with
output)  This is because CP/M doesn't like having a con-
trol character in a place it considers to be a filename
(one of its two it may take on a command).  Thus to skip
a tab, a period, and another tab, writing "FILE" back to
itself:  SORTV FILE . @^I.^I  where "^I" means you pressed
the "tab" key.  If you typed: SORTV FILE @^I.^I CP/M would
reject the command because it thinks you are putting a
tab into the second (output) filename.  P.S. bug: file must
end with cr/lf.  Enjoy.
			   Ward Christensen  01/14/81
